package com.woniuxy.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.woniuxy.admin.dto.AdminAccountPageDto;
import com.woniuxy.admin.dto.PawnShopDto;
import com.woniuxy.admin.entity.PawnShop;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.admin.form.InsertPawnShopForm;
import com.woniuxy.admin.form.InsertShopAssistantForm;
import com.woniuxy.admin.form.UpdatePawnShopForm;

import java.util.List;
import java.util.Set;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ...
 * @since 2024年05月22日
 */
public interface PawnShopService extends IService<PawnShop> {

    /**
     * 分页查询门店信息
     * @param pageNum 分页页数
     * @param pageSize 每页个数
     * @return
     */
    Page<PawnShopDto> loadAllPawnShop(Integer pageNum, Integer pageSize,String condition);

    /**
     * 新增门店
     * @param form 新增门店参数
     */

    void insertPawnShop(InsertPawnShopForm form);

    /**
     * 更新门店信息
     * @param form 修改门店参数
     */
    void updatePawnShop(UpdatePawnShopForm form);

    /**
     * 更新门店状态
     * @param shopId 门店id
     * @param state 状态码
     */
    void updatePawnShopState(Integer shopId, Integer state);

    /**
     * 根据门店Id查找门店
     * @param shopId 门店id
     * @return
     */
    PawnShopDto selectPawnShopById(Integer shopId);

    /**
     * 新增门店店员  存json字符串
     *
     */
    void insertShopAssistant(InsertShopAssistantForm form);

    /**
     * 通过账号id查门店
     * @param accountId 账号ID
     * @return 门店对象
     */
    PawnShop findShopByAccountId(Integer accountId) throws Exception;

    /**
     * 根据门店Id查询店员信息
     * @param shopId
     * @return
     */
    List<AdminAccountPageDto> findShopAssistantByShopId(Integer shopId,Integer is);

    /**
     * 查询所有未绑定店员信息
     * @param pageNum
     * @param pageSize
     * @return
     */
    Page<AdminAccountPageDto> findAllShopAssistant(Integer pageNum, Integer pageSize);
}
